sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE11(first2(X, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> FCONS2(unquote1(X), unquote11(Z))
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
FIRST12(s1(X), cons2(Y, Z)) -> QUOTE1(Y)
FROM1(X) -> FROM1(s1(X))
QUOTE11(cons2(X, Z)) -> QUOTE1(X)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE11(first2(X, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> FCONS2(unquote1(X), unquote11(Z))
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
FIRST12(s1(X), cons2(Y, Z)) -> QUOTE1(Y)
FROM1(X) -> FROM1(s1(X))
QUOTE11(cons2(X, Z)) -> QUOTE1(X)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
POL(UNQUOTE1(x1)) = x1
POL(s11(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
POL(UNQUOTE11(x1)) = x1
POL(cons12(x1, x2)) = 1 + x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
Used ordering: Polynomial interpretation [21]:
QUOTE1(s1(X)) -> QUOTE1(X)
POL(0) = 1
POL(QUOTE1(x1)) = 1 + x1
POL(SEL12(x1, x2)) = x1 + x2
POL(cons2(x1, x2)) = 1 + x1 + x2
POL(s1(x1)) = x1
POL(sel2(x1, x2)) = 1 + x1 + x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
QUOTE1(s1(X)) -> QUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE1(s1(X)) -> QUOTE1(X)
POL(QUOTE1(x1)) = x1
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
POL(FIRST12(x1, x2)) = x2
POL(cons2(x1, x2)) = 1 + x2
POL(s1(x1)) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
POL(QUOTE11(x1)) = x1
POL(cons2(x1, x2)) = 1 + x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FROM1(X) -> FROM1(s1(X))
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
POL(FIRST2(x1, x2)) = x2
POL(cons2(x1, x2)) = 1 + x2
POL(s1(x1)) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
POL(SEL2(x1, x2)) = x2
POL(cons2(x1, x2)) = 1 + x2
POL(s1(x1)) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)